TSTP Solution File: ALG249^3 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : ALG249^3 : TPTP v6.1.0. Bugfixed v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n189.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:18:16 EDT 2014

% Result   : Timeout 300.11s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : ALG249^3 : TPTP v6.1.0. Bugfixed v5.2.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n189.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 08:52:56 CDT 2014
% % CPUTime  : 300.11 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/ALG003^0.ax, trying next directory
% FOF formula (<kernel.Constant object at 0xbcb0e0>, <kernel.Type object at 0xbcb6c8>) of role type named term_type
% Using role type
% Declaring term:Type
% FOF formula (<kernel.Constant object at 0xe1b200>, <kernel.Type object at 0xbcbdd0>) of role type named subst_type
% Using role type
% Declaring subst:Type
% FOF formula (<kernel.Constant object at 0xbcb200>, <kernel.Constant object at 0xbcb0e0>) of role type named one_type
% Using role type
% Declaring one:term
% FOF formula (<kernel.Constant object at 0xbcbd88>, <kernel.DependentProduct object at 0xbcb6c8>) of role type named ap_type
% Using role type
% Declaring ap:(term->(term->term))
% FOF formula (<kernel.Constant object at 0xbcb2d8>, <kernel.DependentProduct object at 0xbcb098>) of role type named lam_type
% Using role type
% Declaring lam:(term->term)
% FOF formula (<kernel.Constant object at 0xbcb0e0>, <kernel.DependentProduct object at 0xbcb680>) of role type named sub_type
% Using role type
% Declaring sub:(term->(subst->term))
% FOF formula (<kernel.Constant object at 0xe26248>, <kernel.Constant object at 0xbcb0e0>) of role type named id_type
% Using role type
% Declaring id:subst
% FOF formula (<kernel.Constant object at 0xbcb680>, <kernel.Constant object at 0xbcb0e0>) of role type named sh_type
% Using role type
% Declaring sh:subst
% FOF formula (<kernel.Constant object at 0xbcb710>, <kernel.DependentProduct object at 0xbcb098>) of role type named push_type
% Using role type
% Declaring push:(term->(subst->subst))
% FOF formula (<kernel.Constant object at 0xbcb200>, <kernel.DependentProduct object at 0xbcb680>) of role type named comp_type
% Using role type
% Declaring comp:(subst->(subst->subst))
% FOF formula (<kernel.Constant object at 0xbcbd88>, <kernel.DependentProduct object at 0xe24908>) of role type named var_type
% Using role type
% Declaring var:(term->Prop)
% FOF formula (<kernel.Constant object at 0xbcb680>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem1v2_type
% Using role type
% Declaring pushprop_lem1v2:Prop
% FOF formula (<kernel.Constant object at 0xbcb098>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem1_gthm_type
% Using role type
% Declaring pushprop_lem1_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbcb680>, <kernel.Sort object at 0x8b05a8>) of role type named axmap_type
% Using role type
% Declaring axmap:Prop
% FOF formula (<kernel.Constant object at 0xbcbd88>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem0_gthm_type
% Using role type
% Declaring pushprop_lem0_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbcb680>, <kernel.Sort object at 0x8b05a8>) of role type named shinj_type
% Using role type
% Declaring shinj:Prop
% FOF formula (<kernel.Constant object at 0xbcb680>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem1v2_type
% Using role type
% Declaring hoasinduction_lem1v2:Prop
% FOF formula (<kernel.Constant object at 0xe24200>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem1v2_gthm_type
% Using role type
% Declaring hoasinduction_lem1v2_gthm:Prop
% FOF formula (<kernel.Constant object at 0xe247a0>, <kernel.DependentProduct object at 0xe24560>) of role type named hoasap_type
% Using role type
% Declaring hoasap:(subst->(term->(subst->(term->term))))
% FOF formula (<kernel.Constant object at 0xe246c8>, <kernel.Sort object at 0x8b05a8>) of role type named induction2lem_type
% Using role type
% Declaring induction2lem:Prop
% FOF formula (<kernel.Constant object at 0xe24e18>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2_f_type
% Using role type
% Declaring hoasinduction_lem3v2_f:Prop
% FOF formula (<kernel.Constant object at 0xe24710>, <kernel.Sort object at 0x8b05a8>) of role type named axvarshift_type
% Using role type
% Declaring axvarshift:Prop
% FOF formula (<kernel.Constant object at 0xe24a28>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapinj2_type
% Using role type
% Declaring hoasapinj2:Prop
% FOF formula (<kernel.Constant object at 0xe249e0>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapnotvar_gthm_type
% Using role type
% Declaring hoasapnotvar_gthm:Prop
% FOF formula (<kernel.Constant object at 0xe24098>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapinj1_type
% Using role type
% Declaring hoasapinj1:Prop
% FOF formula (<kernel.Constant object at 0xe24d40>, <kernel.Sort object at 0x8b05a8>) of role type named ulamvar1_type
% Using role type
% Declaring ulamvar1:Prop
% FOF formula (<kernel.Constant object at 0xe24248>, <kernel.Sort object at 0x8b05a8>) of role type named induction2lem_lthm_type
% Using role type
% Declaring induction2lem_lthm:Prop
% FOF formula (<kernel.Constant object at 0xe24908>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2_gthm_type
% Using role type
% Declaring hoasinduction_lem3v2_gthm:Prop
% FOF formula (<kernel.Constant object at 0xe24248>, <kernel.Sort object at 0x8b05a8>) of role type named apnotvar_type
% Using role type
% Declaring apnotvar:Prop
% FOF formula (<kernel.Constant object at 0xe24b90>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lthm_orig_type
% Using role type
% Declaring pushprop_lthm_orig:Prop
% FOF formula (<kernel.Constant object at 0xe24c20>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2_f_lthm_type
% Using role type
% Declaring hoasinduction_lem3v2_f_lthm:Prop
% FOF formula (<kernel.Constant object at 0xe24b90>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lthm_type
% Using role type
% Declaring hoasinduction_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbcce18>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_no_psi_cond_lthm_type
% Using role type
% Declaring hoasinduction_no_psi_cond_lthm:Prop
% FOF formula (<kernel.Constant object at 0xe24b00>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslaminj_type
% Using role type
% Declaring hoaslaminj:Prop
% FOF formula (<kernel.Constant object at 0xe24248>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3aaa_type
% Using role type
% Declaring hoasinduction_lem3aaa:Prop
% FOF formula (<kernel.Constant object at 0xe24248>, <kernel.Sort object at 0x8b05a8>) of role type named induction2lem_gthm_type
% Using role type
% Declaring induction2lem_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbcc638>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3aa_lthm_type
% Using role type
% Declaring hoasinduction_lem3aa_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbcc950>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3_type
% Using role type
% Declaring hoasinduction_lem3:Prop
% FOF formula (<kernel.Constant object at 0xbcc560>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem2_type
% Using role type
% Declaring hoasinduction_lem2:Prop
% FOF formula (<kernel.Constant object at 0xbcc440>, <kernel.Sort object at 0x8b05a8>) of role type named termmset_lthm_type
% Using role type
% Declaring termmset_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbccbd8>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem1_type
% Using role type
% Declaring hoasinduction_lem1:Prop
% FOF formula (<kernel.Constant object at 0xbcc518>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslamnotap_lthm_type
% Using role type
% Declaring hoaslamnotap_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbcc248>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem1v2_lthm_type
% Using role type
% Declaring pushprop_lem1v2_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbcc518>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapnotvar_type
% Using role type
% Declaring hoasapnotvar:Prop
% FOF formula (<kernel.Constant object at 0xbccbd8>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem0_type
% Using role type
% Declaring hoasinduction_lem0:Prop
% FOF formula (<kernel.Constant object at 0xbcc518>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_type
% Using role type
% Declaring hoasinduction:Prop
% FOF formula (<kernel.Constant object at 0xbcc518>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_gthm_type
% Using role type
% Declaring hoasinduction_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf908>, <kernel.Sort object at 0x8b05a8>) of role type named axapp_type
% Using role type
% Declaring axapp:Prop
% FOF formula (<kernel.Constant object at 0x9cf950>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslamnotvar_lthm_type
% Using role type
% Declaring hoaslamnotvar_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf758>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem3v2_lthm_type
% Using role type
% Declaring pushprop_lem3v2_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf878>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3b_lthm_type
% Using role type
% Declaring hoasinduction_lem3b_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf758>, <kernel.Sort object at 0x8b05a8>) of role type named ulamvarind_type
% Using role type
% Declaring ulamvarind:Prop
% FOF formula (<kernel.Constant object at 0x9cf6c8>, <kernel.Sort object at 0x8b05a8>) of role type named induction_type
% Using role type
% Declaring induction:Prop
% FOF formula (<kernel.Constant object at 0x9cf7a0>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3a_lthm_type
% Using role type
% Declaring hoasinduction_lem3a_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf6c8>, <kernel.Sort object at 0x8b05a8>) of role type named termmset_gthm_type
% Using role type
% Declaring termmset_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf680>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3aa_type
% Using role type
% Declaring hoasinduction_lem3aa:Prop
% FOF formula (<kernel.Constant object at 0x9cf758>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem1v2_gthm_type
% Using role type
% Declaring pushprop_lem1v2_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf518>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslamnotap_gthm_type
% Using role type
% Declaring hoaslamnotap_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf560>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslamnotvar_gthm_type
% Using role type
% Declaring hoaslamnotvar_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf950>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3b_gthm_type
% Using role type
% Declaring hoasinduction_lem3b_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf560>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem2v2_type
% Using role type
% Declaring pushprop_lem2v2:Prop
% FOF formula (<kernel.Constant object at 0x9cf488>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3a_gthm_type
% Using role type
% Declaring hoasinduction_lem3a_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cf560>, <kernel.Sort object at 0x8b05a8>) of role type named axclos_type
% Using role type
% Declaring axclos:Prop
% FOF formula (<kernel.Constant object at 0x9cf518>, <kernel.Sort object at 0x8b05a8>) of role type named axassoc_type
% Using role type
% Declaring axassoc:Prop
% FOF formula (<kernel.Constant object at 0x9cf440>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem2v2_type
% Using role type
% Declaring hoasinduction_lem2v2:Prop
% FOF formula (<kernel.Constant object at 0x9cfa70>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lthm_type
% Using role type
% Declaring pushprop_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfab8>, <kernel.Sort object at 0x8b05a8>) of role type named apinj2_type
% Using role type
% Declaring apinj2:Prop
% FOF formula (<kernel.Constant object at 0x9cfb00>, <kernel.Sort object at 0x8b05a8>) of role type named apinj1_type
% Using role type
% Declaring apinj1:Prop
% FOF formula (<kernel.Constant object at 0x9cfb48>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapinj2_lthm_type
% Using role type
% Declaring hoasapinj2_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfb90>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2a_type
% Using role type
% Declaring hoasinduction_lem3v2a:Prop
% FOF formula (<kernel.Constant object at 0x9cfbd8>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapinj1_lthm_type
% Using role type
% Declaring hoasapinj1_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfc20>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslaminj_lthm_type
% Using role type
% Declaring hoaslaminj_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfc68>, <kernel.Sort object at 0x8b05a8>) of role type named axvarcons_type
% Using role type
% Declaring axvarcons:Prop
% FOF formula (<kernel.Constant object at 0x9cfcb0>, <kernel.DependentProduct object at 0x9cfd40>) of role type named hoaslam_type
% Using role type
% Declaring hoaslam:(subst->((subst->(term->term))->term))
% FOF formula (<kernel.Constant object at 0x9cfd88>, <kernel.Sort object at 0x8b05a8>) of role type named axscons_type
% Using role type
% Declaring axscons:Prop
% FOF formula (<kernel.Constant object at 0x9cf4d0>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem2v2_gthm_type
% Using role type
% Declaring hoasinduction_lem2v2_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfd88>, <kernel.Sort object at 0x8b05a8>) of role type named axidr_type
% Using role type
% Declaring axidr:Prop
% FOF formula (<kernel.Constant object at 0x9cfc68>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem1_type
% Using role type
% Declaring pushprop_lem1:Prop
% FOF formula (<kernel.Constant object at 0x9cfcb0>, <kernel.Sort object at 0x8b05a8>) of role type named laminj_type
% Using role type
% Declaring laminj:Prop
% FOF formula (<kernel.Constant object at 0x9cfcf8>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3_lthm_type
% Using role type
% Declaring hoasinduction_lem3_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfcb0>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem0_type
% Using role type
% Declaring pushprop_lem0:Prop
% FOF formula (<kernel.Constant object at 0x9cfe60>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_gthm_type
% Using role type
% Declaring pushprop_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfc68>, <kernel.Sort object at 0x8b05a8>) of role type named axabs_type
% Using role type
% Declaring axabs:Prop
% FOF formula (<kernel.Constant object at 0x9cff80>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2a_lthm_type
% Using role type
% Declaring hoasinduction_lem3v2a_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfdd0>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem2_lthm_type
% Using role type
% Declaring hoasinduction_lem2_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cfe60>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapinj2_gthm_type
% Using role type
% Declaring hoasapinj2_gthm:Prop
% FOF formula (<kernel.Constant object at 0x9cff80>, <kernel.DependentProduct object at 0xbbc200>) of role type named hoasinduction_p_and_p_prime_type
% Using role type
% Declaring hoasinduction_p_and_p_prime:((subst->(term->(subst->Prop)))->((term->Prop)->Prop))
% FOF formula (<kernel.Constant object at 0x9cff80>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem1_lthm_type
% Using role type
% Declaring hoasinduction_lem1_lthm:Prop
% FOF formula (<kernel.Constant object at 0x9cff80>, <kernel.Sort object at 0x8b05a8>) of role type named lamnotap_type
% Using role type
% Declaring lamnotap:Prop
% FOF formula (<kernel.Constant object at 0xbbc290>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapinj1_gthm_type
% Using role type
% Declaring hoasapinj1_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc0e0>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslamnotvar_type
% Using role type
% Declaring hoaslamnotvar:Prop
% FOF formula (<kernel.Constant object at 0xbbc050>, <kernel.Sort object at 0x8b05a8>) of role type named axidl_type
% Using role type
% Declaring axidl:Prop
% FOF formula (<kernel.Constant object at 0xbbc248>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslaminj_gthm_type
% Using role type
% Declaring hoaslaminj_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc170>, <kernel.Sort object at 0x8b05a8>) of role type named induction2_lthm_type
% Using role type
% Declaring induction2_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc200>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem0_lthm_type
% Using role type
% Declaring hoasinduction_lem0_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc170>, <kernel.Sort object at 0x8b05a8>) of role type named substmonoid_lthm_type
% Using role type
% Declaring substmonoid_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc368>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_type
% Using role type
% Declaring pushprop:Prop
% FOF formula (<kernel.Constant object at 0xbbc2d8>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3_gthm_type
% Using role type
% Declaring hoasinduction_lem3_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc248>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem2_gthm_type
% Using role type
% Declaring hoasinduction_lem2_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc488>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3b_type
% Using role type
% Declaring hoasinduction_lem3b:Prop
% FOF formula (<kernel.Constant object at 0xbbc3f8>, <kernel.Sort object at 0x8b05a8>) of role type named substmonoid_type
% Using role type
% Declaring substmonoid:Prop
% FOF formula (<kernel.Constant object at 0xbbc2d8>, <kernel.Sort object at 0x8b05a8>) of role type named lamnotvar_type
% Using role type
% Declaring lamnotvar:Prop
% FOF formula (<kernel.Constant object at 0xbbc518>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3a_type
% Using role type
% Declaring hoasinduction_lem3a:Prop
% FOF formula (<kernel.Constant object at 0xbbc368>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem1_gthm_type
% Using role type
% Declaring hoasinduction_lem1_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc560>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_no_psi_cond_type
% Using role type
% Declaring hoasinduction_no_psi_cond:Prop
% FOF formula (<kernel.Constant object at 0xbbc638>, <kernel.Sort object at 0x8b05a8>) of role type named induction2_gthm_type
% Using role type
% Declaring induction2_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc5a8>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem2v2_lthm_type
% Using role type
% Declaring pushprop_lem2v2_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc368>, <kernel.DependentProduct object at 0xbbc6c8>) of role type named hoasvar_type
% Using role type
% Declaring hoasvar:(subst->(term->(subst->Prop)))
% FOF formula (<kernel.Constant object at 0xbbc758>, <kernel.Sort object at 0x8b05a8>) of role type named hoaslamnotap_type
% Using role type
% Declaring hoaslamnotap:Prop
% FOF formula (<kernel.Constant object at 0xbbc878>, <kernel.Sort object at 0x8b05a8>) of role type named substmonoid_gthm_type
% Using role type
% Declaring substmonoid_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc5a8>, <kernel.Sort object at 0x8b05a8>) of role type named ulamvarsh_type
% Using role type
% Declaring ulamvarsh:Prop
% FOF formula (<kernel.Constant object at 0xbbc638>, <kernel.Sort object at 0x8b05a8>) of role type named induction2_type
% Using role type
% Declaring induction2:Prop
% FOF formula (<kernel.Constant object at 0xbbc830>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem3v2_type
% Using role type
% Declaring pushprop_lem3v2:Prop
% FOF formula (<kernel.Constant object at 0xbbc710>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem2v2_gthm_type
% Using role type
% Declaring pushprop_lem2v2_gthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc7a0>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem1_lthm_type
% Using role type
% Declaring pushprop_lem1_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc908>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2_type
% Using role type
% Declaring hoasinduction_lem3v2:Prop
% FOF formula (<kernel.Constant object at 0xbbc8c0>, <kernel.Sort object at 0x8b05a8>) of role type named axshiftcons_type
% Using role type
% Declaring axshiftcons:Prop
% FOF formula (<kernel.Constant object at 0xbbc950>, <kernel.Sort object at 0x8b05a8>) of role type named termmset_type
% Using role type
% Declaring termmset:Prop
% FOF formula (<kernel.Constant object at 0xbbc998>, <kernel.Sort object at 0x8b05a8>) of role type named pushprop_lem0_lthm_type
% Using role type
% Declaring pushprop_lem0_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc9e0>, <kernel.Sort object at 0x8b05a8>) of role type named hoasapnotvar_lthm_type
% Using role type
% Declaring hoasapnotvar_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc518>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lem3v2_lthm_type
% Using role type
% Declaring hoasinduction_lem3v2_lthm:Prop
% FOF formula (<kernel.Constant object at 0xbbc9e0>, <kernel.DependentProduct object at 0xbbca70>) of role type named pushprop_p_and_p_prime_type
% Using role type
% Declaring pushprop_p_and_p_prime:(term->(subst->((term->Prop)->((term->Prop)->Prop))))
% FOF formula (<kernel.Constant object at 0xbbcb48>, <kernel.Sort object at 0x8b05a8>) of role type named axvarid_type
% Using role type
% Declaring axvarid:Prop
% FOF formula (<kernel.Constant object at 0xbbcc68>, <kernel.Sort object at 0x8b05a8>) of role type named hoasinduction_lthm_3_type
% Using role type
% Declaring hoasinduction_lthm_3:Prop
% FOF formula (((eq Prop) axapp) (forall (A:term) (B:term) (M:subst), (((eq term) ((sub ((ap A) B)) M)) ((ap ((sub A) M)) ((sub B) M))))) of role definition named axapp
% A new definition: (((eq Prop) axapp) (forall (A:term) (B:term) (M:subst), (((eq term) ((sub ((ap A) B)) M)) ((ap ((sub A) M)) ((sub B) M)))))
% Defined: axapp:=(forall (A:term) (B:term) (M:subst), (((eq term) ((sub ((ap A) B)) M)) ((ap ((sub A) M)) ((sub B) M))))
% FOF formula (((eq Prop) axvarcons) (forall (A:term) (M:subst), (((eq term) ((sub one) ((push A) M))) A))) of role definition named axvarcons
% A new definition: (((eq Prop) axvarcons) (forall (A:term) (M:subst), (((eq term) ((sub one) ((push A) M))) A)))
% Defined: axvarcons:=(forall (A:term) (M:subst), (((eq term) ((sub one) ((push A) M))) A))
% FOF formula (((eq Prop) axvarid) (forall (A:term), (((eq term) ((sub A) id)) A))) of role definition named axvarid
% A new definition: (((eq Prop) axvarid) (forall (A:term), (((eq term) ((sub A) id)) A)))
% Defined: axvarid:=(forall (A:term), (((eq term) ((sub A) id)) A))
% FOF formula (((eq Prop) axabs) (forall (A:term) (M:subst), (((eq term) ((sub (lam A)) M)) (lam ((sub A) ((push one) ((comp M) sh))))))) of role definition named axabs
% A new definition: (((eq Prop) axabs) (forall (A:term) (M:subst), (((eq term) ((sub (lam A)) M)) (lam ((sub A) ((push one) ((comp M) sh)))))))
% Defined: axabs:=(forall (A:term) (M:subst), (((eq term) ((sub (lam A)) M)) (lam ((sub A) ((push one) ((comp M) sh))))))
% FOF formula (((eq Prop) axclos) (forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N))))) of role definition named axclos
% A new definition: (((eq Prop) axclos) (forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N)))))
% Defined: axclos:=(forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N))))
% FOF formula (((eq Prop) axidl) (forall (M:subst), (((eq subst) ((comp id) M)) M))) of role definition named axidl
% A new definition: (((eq Prop) axidl) (forall (M:subst), (((eq subst) ((comp id) M)) M)))
% Defined: axidl:=(forall (M:subst), (((eq subst) ((comp id) M)) M))
% FOF formula (((eq Prop) axshiftcons) (forall (A:term) (M:subst), (((eq subst) ((comp sh) ((push A) M))) M))) of role definition named axshiftcons
% A new definition: (((eq Prop) axshiftcons) (forall (A:term) (M:subst), (((eq subst) ((comp sh) ((push A) M))) M)))
% Defined: axshiftcons:=(forall (A:term) (M:subst), (((eq subst) ((comp sh) ((push A) M))) M))
% FOF formula (((eq Prop) axassoc) (forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K))))) of role definition named axassoc
% A new definition: (((eq Prop) axassoc) (forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K)))))
% Defined: axassoc:=(forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K))))
% FOF formula (((eq Prop) axmap) (forall (A:term) (M:subst) (N:subst), (((eq subst) ((comp ((push A) M)) N)) ((push ((sub A) N)) ((comp M) N))))) of role definition named axmap
% A new definition: (((eq Prop) axmap) (forall (A:term) (M:subst) (N:subst), (((eq subst) ((comp ((push A) M)) N)) ((push ((sub A) N)) ((comp M) N)))))
% Defined: axmap:=(forall (A:term) (M:subst) (N:subst), (((eq subst) ((comp ((push A) M)) N)) ((push ((sub A) N)) ((comp M) N))))
% FOF formula (((eq Prop) axidr) (forall (M:subst), (((eq subst) ((comp M) id)) M))) of role definition named axidr
% A new definition: (((eq Prop) axidr) (forall (M:subst), (((eq subst) ((comp M) id)) M)))
% Defined: axidr:=(forall (M:subst), (((eq subst) ((comp M) id)) M))
% FOF formula (((eq Prop) axvarshift) (((eq subst) ((push one) sh)) id)) of role definition named axvarshift
% A new definition: (((eq Prop) axvarshift) (((eq subst) ((push one) sh)) id))
% Defined: axvarshift:=(((eq subst) ((push one) sh)) id)
% FOF formula (((eq Prop) axscons) (forall (M:subst), (((eq subst) ((push ((sub one) M)) ((comp sh) M))) M))) of role definition named axscons
% A new definition: (((eq Prop) axscons) (forall (M:subst), (((eq subst) ((push ((sub one) M)) ((comp sh) M))) M)))
% Defined: axscons:=(forall (M:subst), (((eq subst) ((push ((sub one) M)) ((comp sh) M))) M))
% FOF formula (((eq Prop) ulamvar1) (var one)) of role definition named ulamvar1
% A new definition: (((eq Prop) ulamvar1) (var one))
% Defined: ulamvar1:=(var one)
% FOF formula (((eq Prop) ulamvarsh) (forall (A:term), ((var A)->(var ((sub A) sh))))) of role definition named ulamvarsh
% A new definition: (((eq Prop) ulamvarsh) (forall (A:term), ((var A)->(var ((sub A) sh)))))
% Defined: ulamvarsh:=(forall (A:term), ((var A)->(var ((sub A) sh))))
% FOF formula (((eq Prop) ulamvarind) (forall (P:(term->Prop)), ((P one)->((forall (A:term), ((var A)->((P A)->(P ((sub A) sh)))))->(forall (A:term), ((var A)->(P A))))))) of role definition named ulamvarind
% A new definition: (((eq Prop) ulamvarind) (forall (P:(term->Prop)), ((P one)->((forall (A:term), ((var A)->((P A)->(P ((sub A) sh)))))->(forall (A:term), ((var A)->(P A)))))))
% Defined: ulamvarind:=(forall (P:(term->Prop)), ((P one)->((forall (A:term), ((var A)->((P A)->(P ((sub A) sh)))))->(forall (A:term), ((var A)->(P A))))))
% FOF formula (((eq Prop) apinj1) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) A) B)))) of role definition named apinj1
% A new definition: (((eq Prop) apinj1) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) A) B))))
% Defined: apinj1:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) A) B)))
% FOF formula (((eq Prop) apinj2) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) C) D)))) of role definition named apinj2
% A new definition: (((eq Prop) apinj2) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) C) D))))
% Defined: apinj2:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) C) D)))
% FOF formula (((eq Prop) laminj) (forall (A:term) (B:term), ((((eq term) (lam A)) (lam B))->(((eq term) A) B)))) of role definition named laminj
% A new definition: (((eq Prop) laminj) (forall (A:term) (B:term), ((((eq term) (lam A)) (lam B))->(((eq term) A) B))))
% Defined: laminj:=(forall (A:term) (B:term), ((((eq term) (lam A)) (lam B))->(((eq term) A) B)))
% FOF formula (((eq Prop) shinj) (forall (A:term) (B:term), ((((eq term) ((sub A) sh)) ((sub B) sh))->(((eq term) A) B)))) of role definition named shinj
% A new definition: (((eq Prop) shinj) (forall (A:term) (B:term), ((((eq term) ((sub A) sh)) ((sub B) sh))->(((eq term) A) B))))
% Defined: shinj:=(forall (A:term) (B:term), ((((eq term) ((sub A) sh)) ((sub B) sh))->(((eq term) A) B)))
% FOF formula (((eq Prop) lamnotap) (forall (A:term) (B:term) (C:term), (not (((eq term) (lam A)) ((ap B) C))))) of role definition named lamnotap
% A new definition: (((eq Prop) lamnotap) (forall (A:term) (B:term) (C:term), (not (((eq term) (lam A)) ((ap B) C)))))
% Defined: lamnotap:=(forall (A:term) (B:term) (C:term), (not (((eq term) (lam A)) ((ap B) C))))
% FOF formula (((eq Prop) apnotvar) (forall (A:term) (B:term), ((var ((ap A) B))->False))) of role definition named apnotvar
% A new definition: (((eq Prop) apnotvar) (forall (A:term) (B:term), ((var ((ap A) B))->False)))
% Defined: apnotvar:=(forall (A:term) (B:term), ((var ((ap A) B))->False))
% FOF formula (((eq Prop) lamnotvar) (forall (A:term), ((var (lam A))->False))) of role definition named lamnotvar
% A new definition: (((eq Prop) lamnotvar) (forall (A:term), ((var (lam A))->False)))
% Defined: lamnotvar:=(forall (A:term), ((var (lam A))->False))
% FOF formula (((eq Prop) induction) (forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((P A)->(P (lam A))))->(forall (A:term), (P A))))))) of role definition named induction
% A new definition: (((eq Prop) induction) (forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((P A)->(P (lam A))))->(forall (A:term), (P A)))))))
% Defined: induction:=(forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((P A)->(P (lam A))))->(forall (A:term), (P A))))))
% FOF formula (((eq (term->(subst->((term->Prop)->((term->Prop)->Prop))))) pushprop_p_and_p_prime) (fun (A:term) (M:subst) (P:(term->Prop)) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (P ((sub X) ((push A) M))))))) of role definition named pushprop_p_and_p_prime
% A new definition: (((eq (term->(subst->((term->Prop)->((term->Prop)->Prop))))) pushprop_p_and_p_prime) (fun (A:term) (M:subst) (P:(term->Prop)) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (P ((sub X) ((push A) M)))))))
% Defined: pushprop_p_and_p_prime:=(fun (A:term) (M:subst) (P:(term->Prop)) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (P ((sub X) ((push A) M))))))
% FOF formula (((eq Prop) pushprop_lem0) (forall (P:(term->Prop)) (A:term) (M:subst), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((((pushprop_p_and_p_prime A) M) P) Q))))) of role definition named pushprop_lem0
% A new definition: (((eq Prop) pushprop_lem0) (forall (P:(term->Prop)) (A:term) (M:subst), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((((pushprop_p_and_p_prime A) M) P) Q)))))
% Defined: pushprop_lem0:=(forall (P:(term->Prop)) (A:term) (M:subst), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((((pushprop_p_and_p_prime A) M) P) Q))))
% FOF formula (((eq Prop) pushprop_lem0_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem0)))))))))))))))))))))))) of role definition named pushprop_lem0_gthm
% A new definition: (((eq Prop) pushprop_lem0_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem0))))))))))))))))))))))))
% Defined: pushprop_lem0_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem0)))))))))))))))))))))))
% FOF formula (((eq Prop) pushprop_lem0_lthm) pushprop_lem0) of role definition named pushprop_lem0_lthm
% A new definition: (((eq Prop) pushprop_lem0_lthm) pushprop_lem0)
% Defined: pushprop_lem0_lthm:=pushprop_lem0
% FOF formula (((eq Prop) pushprop_lem1) (forall (P:(term->Prop)) (K:(term->Prop)) (A:term) (M:subst) (B:term), ((P A)->(K ((sub A) ((push B) M)))))) of role definition named pushprop_lem1
% A new definition: (((eq Prop) pushprop_lem1) (forall (P:(term->Prop)) (K:(term->Prop)) (A:term) (M:subst) (B:term), ((P A)->(K ((sub A) ((push B) M))))))
% Defined: pushprop_lem1:=(forall (P:(term->Prop)) (K:(term->Prop)) (A:term) (M:subst) (B:term), ((P A)->(K ((sub A) ((push B) M)))))
% FOF formula (((eq Prop) pushprop_lem1_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1)))))))))))))))))))))))) of role definition named pushprop_lem1_gthm
% A new definition: (((eq Prop) pushprop_lem1_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1))))))))))))))))))))))))
% Defined: pushprop_lem1_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1)))))))))))))))))))))))
% FOF formula (((eq Prop) pushprop_lem1_lthm) (axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop_lem1))))) of role definition named pushprop_lem1_lthm
% A new definition: (((eq Prop) pushprop_lem1_lthm) (axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop_lem1)))))
% Defined: pushprop_lem1_lthm:=(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop_lem1))))
% FOF formula (((eq Prop) pushprop_lem1v2) (forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), ((P A)->(((((pushprop_p_and_p_prime A) M) P) Q)->(Q one))))) of role definition named pushprop_lem1v2
% A new definition: (((eq Prop) pushprop_lem1v2) (forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), ((P A)->(((((pushprop_p_and_p_prime A) M) P) Q)->(Q one)))))
% Defined: pushprop_lem1v2:=(forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), ((P A)->(((((pushprop_p_and_p_prime A) M) P) Q)->(Q one))))
% FOF formula (((eq Prop) pushprop_lem1v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1v2)))))))))))))))))))))))) of role definition named pushprop_lem1v2_gthm
% A new definition: (((eq Prop) pushprop_lem1v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1v2))))))))))))))))))))))))
% Defined: pushprop_lem1v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1v2)))))))))))))))))))))))
% FOF formula (((eq Prop) pushprop_lem1v2_lthm) (axvarcons->pushprop_lem1v2)) of role definition named pushprop_lem1v2_lthm
% A new definition: (((eq Prop) pushprop_lem1v2_lthm) (axvarcons->pushprop_lem1v2))
% Defined: pushprop_lem1v2_lthm:=(axvarcons->pushprop_lem1v2)
% FOF formula (((eq Prop) pushprop_lem2v2) (forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(P ((sub B) M))))->(forall (C:term), ((var C)->((Q C)->(Q ((sub C) sh))))))))) of role definition named pushprop_lem2v2
% A new definition: (((eq Prop) pushprop_lem2v2) (forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(P ((sub B) M))))->(forall (C:term), ((var C)->((Q C)->(Q ((sub C) sh)))))))))
% Defined: pushprop_lem2v2:=(forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(P ((sub B) M))))->(forall (C:term), ((var C)->((Q C)->(Q ((sub C) sh))))))))
% FOF formula (((eq Prop) pushprop_lem2v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem2v2)))))))))))))))))))))))) of role definition named pushprop_lem2v2_gthm
% A new definition: (((eq Prop) pushprop_lem2v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem2v2))))))))))))))))))))))))
% Defined: pushprop_lem2v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem2v2)))))))))))))))))))))))
% FOF formula (((eq Prop) pushprop_lem2v2_lthm) (axclos->(axshiftcons->pushprop_lem2v2))) of role definition named pushprop_lem2v2_lthm
% A new definition: (((eq Prop) pushprop_lem2v2_lthm) (axclos->(axshiftcons->pushprop_lem2v2)))
% Defined: pushprop_lem2v2_lthm:=(axclos->(axshiftcons->pushprop_lem2v2))
% FOF formula (((eq Prop) pushprop_lem3v2) (forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(Q B)))->(forall (B:term), ((var B)->(P ((sub B) ((push A) M))))))))) of role definition named pushprop_lem3v2
% A new definition: (((eq Prop) pushprop_lem3v2) (forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(Q B)))->(forall (B:term), ((var B)->(P ((sub B) ((push A) M)))))))))
% Defined: pushprop_lem3v2:=(forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(Q B)))->(forall (B:term), ((var B)->(P ((sub B) ((push A) M))))))))
% FOF formula (((eq Prop) pushprop_lem3v2_lthm) pushprop_lem3v2) of role definition named pushprop_lem3v2_lthm
% A new definition: (((eq Prop) pushprop_lem3v2_lthm) pushprop_lem3v2)
% Defined: pushprop_lem3v2_lthm:=pushprop_lem3v2
% FOF formula (((eq Prop) pushprop) (forall (P:(term->Prop)) (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->((P A)->(forall (B:term), ((var B)->(P ((sub B) ((push A) M))))))))) of role definition named pushprop
% A new definition: (((eq Prop) pushprop) (forall (P:(term->Prop)) (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->((P A)->(forall (B:term), ((var B)->(P ((sub B) ((push A) M)))))))))
% Defined: pushprop:=(forall (P:(term->Prop)) (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->((P A)->(forall (B:term), ((var B)->(P ((sub B) ((push A) M))))))))
% FOF formula (((eq Prop) pushprop_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop)))))))))))))))))))))))) of role definition named pushprop_gthm
% A new definition: (((eq Prop) pushprop_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop))))))))))))))))))))))))
% Defined: pushprop_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop)))))))))))))))))))))))
% FOF formula (((eq Prop) pushprop_lthm_orig) (ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop)))))) of role definition named pushprop_lthm_orig
% A new definition: (((eq Prop) pushprop_lthm_orig) (ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop))))))
% Defined: pushprop_lthm_orig:=(ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop)))))
% FOF formula (((eq Prop) pushprop_lthm) (pushprop_lem0->(ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop))))))) of role definition named pushprop_lthm
% A new definition: (((eq Prop) pushprop_lthm) (pushprop_lem0->(ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop)))))))
% Defined: pushprop_lthm:=(pushprop_lem0->(ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop))))))
% FOF formula (((eq Prop) induction2lem) (forall (P:(term->Prop)), ((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->(P ((sub A) M)))))))) of role definition named induction2lem
% A new definition: (((eq Prop) induction2lem) (forall (P:(term->Prop)), ((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->(P ((sub A) M))))))))
% Defined: induction2lem:=(forall (P:(term->Prop)), ((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->(P ((sub A) M)))))))
% FOF formula (((eq Prop) induction2lem_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->induction2lem))))))))))))))))))))))))) of role definition named induction2lem_gthm
% A new definition: (((eq Prop) induction2lem_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->induction2lem)))))))))))))))))))))))))
% Defined: induction2lem_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->induction2lem))))))))))))))))))))))))
% FOF formula (((eq Prop) induction2lem_lthm) (axapp->(axvarcons->(axabs->(axclos->(axshiftcons->(axassoc->(axmap->(axidr->(induction->(pushprop->induction2lem))))))))))) of role definition named induction2lem_lthm
% A new definition: (((eq Prop) induction2lem_lthm) (axapp->(axvarcons->(axabs->(axclos->(axshiftcons->(axassoc->(axmap->(axidr->(induction->(pushprop->induction2lem)))))))))))
% Defined: induction2lem_lthm:=(axapp->(axvarcons->(axabs->(axclos->(axshiftcons->(axassoc->(axmap->(axidr->(induction->(pushprop->induction2lem))))))))))
% FOF formula (((eq Prop) induction2) (forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term), (P A))))))) of role definition named induction2
% A new definition: (((eq Prop) induction2) (forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term), (P A)))))))
% Defined: induction2:=(forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term), (P A))))))
% FOF formula (((eq Prop) induction2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->induction2)))))))))))))))))))))))))) of role definition named induction2_gthm
% A new definition: (((eq Prop) induction2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->induction2))))))))))))))))))))))))))
% Defined: induction2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->induction2)))))))))))))))))))))))))
% FOF formula (((eq Prop) induction2_lthm) (axvarid->(induction2lem->induction2))) of role definition named induction2_lthm
% A new definition: (((eq Prop) induction2_lthm) (axvarid->(induction2lem->induction2)))
% Defined: induction2_lthm:=(axvarid->(induction2lem->induction2))
% FOF formula (((eq Prop) substmonoid) ((and ((and (forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K))))) (forall (M:subst), (((eq subst) ((comp id) M)) M)))) (forall (M:subst), (((eq subst) ((comp M) id)) M)))) of role definition named substmonoid
% A new definition: (((eq Prop) substmonoid) ((and ((and (forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K))))) (forall (M:subst), (((eq subst) ((comp id) M)) M)))) (forall (M:subst), (((eq subst) ((comp M) id)) M))))
% Defined: substmonoid:=((and ((and (forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K))))) (forall (M:subst), (((eq subst) ((comp id) M)) M)))) (forall (M:subst), (((eq subst) ((comp M) id)) M)))
% FOF formula (((eq Prop) substmonoid_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->substmonoid))))))))))))))))))))))))))) of role definition named substmonoid_gthm
% A new definition: (((eq Prop) substmonoid_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->substmonoid)))))))))))))))))))))))))))
% Defined: substmonoid_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->substmonoid))))))))))))))))))))))))))
% FOF formula (((eq Prop) substmonoid_lthm) (axidl->(axassoc->(axidr->substmonoid)))) of role definition named substmonoid_lthm
% A new definition: (((eq Prop) substmonoid_lthm) (axidl->(axassoc->(axidr->substmonoid))))
% Defined: substmonoid_lthm:=(axidl->(axassoc->(axidr->substmonoid)))
% FOF formula (((eq Prop) termmset) ((and (forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N))))) (forall (A:term), (((eq term) ((sub A) id)) A)))) of role definition named termmset
% A new definition: (((eq Prop) termmset) ((and (forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N))))) (forall (A:term), (((eq term) ((sub A) id)) A))))
% Defined: termmset:=((and (forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N))))) (forall (A:term), (((eq term) ((sub A) id)) A)))
% FOF formula (((eq Prop) termmset_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->termmset)))))))))))))))))))))))))))) of role definition named termmset_gthm
% A new definition: (((eq Prop) termmset_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->termmset))))))))))))))))))))))))))))
% Defined: termmset_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->termmset)))))))))))))))))))))))))))
% FOF formula (((eq Prop) termmset_lthm) (axvarid->(axclos->termmset))) of role definition named termmset_lthm
% A new definition: (((eq Prop) termmset_lthm) (axvarid->(axclos->termmset)))
% Defined: termmset_lthm:=(axvarid->(axclos->termmset))
% FOF formula (((eq (subst->(term->(subst->(term->term))))) hoasap) (fun (M:subst) (A:term) (N:subst) (B:term)=> ((ap ((sub A) N)) B))) of role definition named hoasap
% A new definition: (((eq (subst->(term->(subst->(term->term))))) hoasap) (fun (M:subst) (A:term) (N:subst) (B:term)=> ((ap ((sub A) N)) B)))
% Defined: hoasap:=(fun (M:subst) (A:term) (N:subst) (B:term)=> ((ap ((sub A) N)) B))
% FOF formula (((eq (subst->((subst->(term->term))->term))) hoaslam) (fun (M:subst) (F:(subst->(term->term)))=> (lam ((F sh) one)))) of role definition named hoaslam
% A new definition: (((eq (subst->((subst->(term->term))->term))) hoaslam) (fun (M:subst) (F:(subst->(term->term)))=> (lam ((F sh) one))))
% Defined: hoaslam:=(fun (M:subst) (F:(subst->(term->term)))=> (lam ((F sh) one)))
% FOF formula (((eq (subst->(term->(subst->Prop)))) hoasvar) (fun (M:subst) (A:term) (N:subst)=> (var ((sub A) N)))) of role definition named hoasvar
% A new definition: (((eq (subst->(term->(subst->Prop)))) hoasvar) (fun (M:subst) (A:term) (N:subst)=> (var ((sub A) N))))
% Defined: hoasvar:=(fun (M:subst) (A:term) (N:subst)=> (var ((sub A) N)))
% FOF formula (((eq Prop) hoasapinj1) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) A) B)))) of role definition named hoasapinj1
% A new definition: (((eq Prop) hoasapinj1) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) A) B))))
% Defined: hoasapinj1:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) A) B)))
% FOF formula (((eq Prop) hoasapinj1_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->hoasapinj1))))))))))))))))))))))))))))) of role definition named hoasapinj1_gthm
% A new definition: (((eq Prop) hoasapinj1_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->hoasapinj1)))))))))))))))))))))))))))))
% Defined: hoasapinj1_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->hoasapinj1))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasapinj1_lthm) (axvarid->(apinj1->hoasapinj1))) of role definition named hoasapinj1_lthm
% A new definition: (((eq Prop) hoasapinj1_lthm) (axvarid->(apinj1->hoasapinj1)))
% Defined: hoasapinj1_lthm:=(axvarid->(apinj1->hoasapinj1))
% FOF formula (((eq Prop) hoasapinj2) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) C) D)))) of role definition named hoasapinj2
% A new definition: (((eq Prop) hoasapinj2) (forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) C) D))))
% Defined: hoasapinj2:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) C) D)))
% FOF formula (((eq Prop) hoasapinj2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->hoasapinj2)))))))))))))))))))))))))))))) of role definition named hoasapinj2_gthm
% A new definition: (((eq Prop) hoasapinj2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->hoasapinj2))))))))))))))))))))))))))))))
% Defined: hoasapinj2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->hoasapinj2)))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasapinj2_lthm) (apinj2->hoasapinj2)) of role definition named hoasapinj2_lthm
% A new definition: (((eq Prop) hoasapinj2_lthm) (apinj2->hoasapinj2))
% Defined: hoasapinj2_lthm:=(apinj2->hoasapinj2)
% FOF formula (((eq Prop) hoaslaminj) (forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (G:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((G M) A)) N)) ((G ((comp M) N)) ((sub A) N))))->((((eq term) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) ((hoaslam id) (fun (M:subst) (A:term)=> ((G M) A))))->(forall (M:subst) (A:term), (((eq term) ((F M) A)) ((G M) A))))))))) of role definition named hoaslaminj
% A new definition: (((eq Prop) hoaslaminj) (forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (G:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((G M) A)) N)) ((G ((comp M) N)) ((sub A) N))))->((((eq term) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) ((hoaslam id) (fun (M:subst) (A:term)=> ((G M) A))))->(forall (M:subst) (A:term), (((eq term) ((F M) A)) ((G M) A)))))))))
% Defined: hoaslaminj:=(forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (G:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((G M) A)) N)) ((G ((comp M) N)) ((sub A) N))))->((((eq term) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) ((hoaslam id) (fun (M:subst) (A:term)=> ((G M) A))))->(forall (M:subst) (A:term), (((eq term) ((F M) A)) ((G M) A))))))))
% FOF formula (((eq Prop) hoaslaminj_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->hoaslaminj))))))))))))))))))))))))))))))) of role definition named hoaslaminj_gthm
% A new definition: (((eq Prop) hoaslaminj_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->hoaslaminj)))))))))))))))))))))))))))))))
% Defined: hoaslaminj_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->hoaslaminj))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoaslaminj_lthm) (axvarcons->(axshiftcons->(laminj->hoaslaminj)))) of role definition named hoaslaminj_lthm
% A new definition: (((eq Prop) hoaslaminj_lthm) (axvarcons->(axshiftcons->(laminj->hoaslaminj))))
% Defined: hoaslaminj_lthm:=(axvarcons->(axshiftcons->(laminj->hoaslaminj)))
% FOF formula (((eq Prop) hoaslamnotap) (forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (A:term) (B:term), (not (((eq term) ((hoaslam id) (fun (M:subst) (C:term)=> ((F M) C)))) ((((hoasap id) A) id) B))))))) of role definition named hoaslamnotap
% A new definition: (((eq Prop) hoaslamnotap) (forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (A:term) (B:term), (not (((eq term) ((hoaslam id) (fun (M:subst) (C:term)=> ((F M) C)))) ((((hoasap id) A) id) B)))))))
% Defined: hoaslamnotap:=(forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (A:term) (B:term), (not (((eq term) ((hoaslam id) (fun (M:subst) (C:term)=> ((F M) C)))) ((((hoasap id) A) id) B))))))
% FOF formula (((eq Prop) hoaslamnotap_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->hoaslamnotap)))))))))))))))))))))))))))))))) of role definition named hoaslamnotap_gthm
% A new definition: (((eq Prop) hoaslamnotap_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->hoaslamnotap))))))))))))))))))))))))))))))))
% Defined: hoaslamnotap_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->hoaslamnotap)))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoaslamnotap_lthm) (lamnotap->hoaslamnotap)) of role definition named hoaslamnotap_lthm
% A new definition: (((eq Prop) hoaslamnotap_lthm) (lamnotap->hoaslamnotap))
% Defined: hoaslamnotap_lthm:=(lamnotap->hoaslamnotap)
% FOF formula (((eq Prop) hoaslamnotvar) (forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((((hoasvar id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id)->False)))) of role definition named hoaslamnotvar
% A new definition: (((eq Prop) hoaslamnotvar) (forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((((hoasvar id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id)->False))))
% Defined: hoaslamnotvar:=(forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((((hoasvar id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id)->False)))
% FOF formula (((eq Prop) hoaslamnotvar_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->hoaslamnotvar))))))))))))))))))))))))))))))))) of role definition named hoaslamnotvar_gthm
% A new definition: (((eq Prop) hoaslamnotvar_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->hoaslamnotvar)))))))))))))))))))))))))))))))))
% Defined: hoaslamnotvar_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->hoaslamnotvar))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoaslamnotvar_lthm) (axvarid->(lamnotvar->hoaslamnotvar))) of role definition named hoaslamnotvar_lthm
% A new definition: (((eq Prop) hoaslamnotvar_lthm) (axvarid->(lamnotvar->hoaslamnotvar)))
% Defined: hoaslamnotvar_lthm:=(axvarid->(lamnotvar->hoaslamnotvar))
% FOF formula (((eq Prop) hoasapnotvar) (forall (A:term) (B:term), ((((hoasvar id) ((((hoasap id) A) id) B)) id)->False))) of role definition named hoasapnotvar
% A new definition: (((eq Prop) hoasapnotvar) (forall (A:term) (B:term), ((((hoasvar id) ((((hoasap id) A) id) B)) id)->False)))
% Defined: hoasapnotvar:=(forall (A:term) (B:term), ((((hoasvar id) ((((hoasap id) A) id) B)) id)->False))
% FOF formula (((eq Prop) hoasapnotvar_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->hoasapnotvar)))))))))))))))))))))))))))))))))) of role definition named hoasapnotvar_gthm
% A new definition: (((eq Prop) hoasapnotvar_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->hoasapnotvar))))))))))))))))))))))))))))))))))
% Defined: hoasapnotvar_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->hoasapnotvar)))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasapnotvar_lthm) (axvarid->(apnotvar->hoasapnotvar))) of role definition named hoasapnotvar_lthm
% A new definition: (((eq Prop) hoasapnotvar_lthm) (axvarid->(apnotvar->hoasapnotvar)))
% Defined: hoasapnotvar_lthm:=(axvarid->(apnotvar->hoasapnotvar))
% FOF formula (((eq ((subst->(term->(subst->Prop)))->((term->Prop)->Prop))) hoasinduction_p_and_p_prime) (fun (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (((P id) X) id))))) of role definition named hoasinduction_p_and_p_prime
% A new definition: (((eq ((subst->(term->(subst->Prop)))->((term->Prop)->Prop))) hoasinduction_p_and_p_prime) (fun (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (((P id) X) id)))))
% Defined: hoasinduction_p_and_p_prime:=(fun (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (((P id) X) id))))
% FOF formula (((eq Prop) hoasinduction_lem0) (forall (P:(subst->(term->(subst->Prop)))), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((hoasinduction_p_and_p_prime P) Q))))) of role definition named hoasinduction_lem0
% A new definition: (((eq Prop) hoasinduction_lem0) (forall (P:(subst->(term->(subst->Prop)))), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((hoasinduction_p_and_p_prime P) Q)))))
% Defined: hoasinduction_lem0:=(forall (P:(subst->(term->(subst->Prop)))), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((hoasinduction_p_and_p_prime P) Q))))
% FOF formula (((eq Prop) hoasinduction_lem0_lthm) hoasinduction_lem0) of role definition named hoasinduction_lem0_lthm
% A new definition: (((eq Prop) hoasinduction_lem0_lthm) hoasinduction_lem0)
% Defined: hoasinduction_lem0_lthm:=hoasinduction_lem0
% FOF formula (((eq Prop) hoasinduction_lem1v2) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((var A)->(Q A))))))))) of role definition named hoasinduction_lem1v2
% A new definition: (((eq Prop) hoasinduction_lem1v2) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((var A)->(Q A)))))))))
% Defined: hoasinduction_lem1v2:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((var A)->(Q A))))))))
% FOF formula (((eq Prop) hoasinduction_lem1v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1v2))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem1v2_gthm
% A new definition: (((eq Prop) hoasinduction_lem1v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1v2)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem1v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1v2))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem2v2) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term) (B:term), ((Q A)->((Q B)->(Q ((ap A) B))))))))))) of role definition named hoasinduction_lem2v2
% A new definition: (((eq Prop) hoasinduction_lem2v2) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term) (B:term), ((Q A)->((Q B)->(Q ((ap A) B)))))))))))
% Defined: hoasinduction_lem2v2:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term) (B:term), ((Q A)->((Q B)->(Q ((ap A) B))))))))))
% FOF formula (((eq Prop) hoasinduction_lem2v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2v2))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem2v2_gthm
% A new definition: (((eq Prop) hoasinduction_lem2v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2v2)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem2v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2v2))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem3v2_f) (forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (forall (A:term) (M:subst), (((eq term) ((F M) A)) ((sub B) ((push A) M)))))))) of role definition named hoasinduction_lem3v2_f
% A new definition: (((eq Prop) hoasinduction_lem3v2_f) (forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (forall (A:term) (M:subst), (((eq term) ((F M) A)) ((sub B) ((push A) M))))))))
% Defined: hoasinduction_lem3v2_f:=(forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (forall (A:term) (M:subst), (((eq term) ((F M) A)) ((sub B) ((push A) M)))))))
% FOF formula (((eq Prop) hoasinduction_lem3v2_f_lthm) hoasinduction_lem3v2_f) of role definition named hoasinduction_lem3v2_f_lthm
% A new definition: (((eq Prop) hoasinduction_lem3v2_f_lthm) hoasinduction_lem3v2_f)
% Defined: hoasinduction_lem3v2_f_lthm:=hoasinduction_lem3v2_f
% FOF formula (((eq Prop) hoasinduction_lem3v2) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A)))))))))) of role definition named hoasinduction_lem3v2
% A new definition: (((eq Prop) hoasinduction_lem3v2) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A))))))))))
% Defined: hoasinduction_lem3v2:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A)))))))))
% FOF formula (((eq Prop) hoasinduction_lem3v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem3v2))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem3v2_gthm
% A new definition: (((eq Prop) hoasinduction_lem3v2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem3v2)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem3v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem3v2))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem3v2_lthm) (axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2))))) of role definition named hoasinduction_lem3v2_lthm
% A new definition: (((eq Prop) hoasinduction_lem3v2_lthm) (axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2)))))
% Defined: hoasinduction_lem3v2_lthm:=(axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2))))
% FOF formula (((eq Prop) hoasinduction_lem3v2a) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A)))))))) of role definition named hoasinduction_lem3v2a
% A new definition: (((eq Prop) hoasinduction_lem3v2a) (forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A))))))))
% Defined: hoasinduction_lem3v2a:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A)))))))
% FOF formula (((eq Prop) hoasinduction_lem3v2a_lthm) (hoasinduction_lem3v2_f->(axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2a)))))) of role definition named hoasinduction_lem3v2a_lthm
% A new definition: (((eq Prop) hoasinduction_lem3v2a_lthm) (hoasinduction_lem3v2_f->(axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2a))))))
% Defined: hoasinduction_lem3v2a_lthm:=(hoasinduction_lem3v2_f->(axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2a)))))
% FOF formula (((eq Prop) hoasinduction_lem1) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(forall (A:term), ((var A)->(((P id) A) id)))))))) of role definition named hoasinduction_lem1
% A new definition: (((eq Prop) hoasinduction_lem1) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(forall (A:term), ((var A)->(((P id) A) id))))))))
% Defined: hoasinduction_lem1:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(forall (A:term), ((var A)->(((P id) A) id)))))))
% FOF formula (((eq Prop) hoasinduction_lem1_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem1_gthm
% A new definition: (((eq Prop) hoasinduction_lem1_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem1_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem1_lthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem1_lthm
% A new definition: (((eq Prop) hoasinduction_lem1_lthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem1_lthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem2) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((ap A) B)) id))))))))) of role definition named hoasinduction_lem2
% A new definition: (((eq Prop) hoasinduction_lem2) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((ap A) B)) id)))))))))
% Defined: hoasinduction_lem2:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((ap A) B)) id))))))))
% FOF formula (((eq Prop) hoasinduction_lem2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem2_gthm
% A new definition: (((eq Prop) hoasinduction_lem2_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem2_lthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem2_lthm
% A new definition: (((eq Prop) hoasinduction_lem2_lthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2)))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem2_lthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem3aa) (forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id)))))) of role definition named hoasinduction_lem3aa
% A new definition: (((eq Prop) hoasinduction_lem3aa) (forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id))))))
% Defined: hoasinduction_lem3aa:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id)))))
% FOF formula (((eq Prop) hoasinduction_lem3aa_lthm) (axclos->(axmap->hoasinduction_lem3aa))) of role definition named hoasinduction_lem3aa_lthm
% A new definition: (((eq Prop) hoasinduction_lem3aa_lthm) (axclos->(axmap->hoasinduction_lem3aa)))
% Defined: hoasinduction_lem3aa_lthm:=(axclos->(axmap->hoasinduction_lem3aa))
% FOF formula (((eq Prop) hoasinduction_lem3aaa) (forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), (((ex term) (fun (C:term)=> (forall (M:subst) (A:term) (N:subst), ((and (((eq term) ((sub ((F M) A)) N)) ((sub ((sub C) ((push A) M))) N))) (((eq term) ((sub C) ((push ((sub A) N)) ((comp M) N)))) ((F ((comp M) N)) ((sub A) N)))))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id)))))) of role definition named hoasinduction_lem3aaa
% A new definition: (((eq Prop) hoasinduction_lem3aaa) (forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), (((ex term) (fun (C:term)=> (forall (M:subst) (A:term) (N:subst), ((and (((eq term) ((sub ((F M) A)) N)) ((sub ((sub C) ((push A) M))) N))) (((eq term) ((sub C) ((push ((sub A) N)) ((comp M) N)))) ((F ((comp M) N)) ((sub A) N)))))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id))))))
% Defined: hoasinduction_lem3aaa:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), (((ex term) (fun (C:term)=> (forall (M:subst) (A:term) (N:subst), ((and (((eq term) ((sub ((F M) A)) N)) ((sub ((sub C) ((push A) M))) N))) (((eq term) ((sub C) ((push ((sub A) N)) ((comp M) N)))) ((F ((comp M) N)) ((sub A) N)))))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id)))))
% FOF formula (((eq Prop) hoasinduction_lem3) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id)))))))) of role definition named hoasinduction_lem3
% A new definition: (((eq Prop) hoasinduction_lem3) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id))))))))
% Defined: hoasinduction_lem3:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id)))))))
% FOF formula (((eq Prop) hoasinduction_lem3_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3))))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem3_gthm
% A new definition: (((eq Prop) hoasinduction_lem3_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3)))))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem3_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3))))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem3_lthm) (axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3)))) of role definition named hoasinduction_lem3_lthm
% A new definition: (((eq Prop) hoasinduction_lem3_lthm) (axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3))))
% Defined: hoasinduction_lem3_lthm:=(axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3)))
% FOF formula (((eq Prop) hoasinduction_lem3a) (forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id)))))) of role definition named hoasinduction_lem3a
% A new definition: (((eq Prop) hoasinduction_lem3a) (forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id))))))
% Defined: hoasinduction_lem3a:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id)))))
% FOF formula (((eq Prop) hoasinduction_lem3a_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3a))))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem3a_gthm
% A new definition: (((eq Prop) hoasinduction_lem3a_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3a)))))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem3a_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3a))))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem3a_lthm) (axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3a)))) of role definition named hoasinduction_lem3a_lthm
% A new definition: (((eq Prop) hoasinduction_lem3a_lthm) (axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3a))))
% Defined: hoasinduction_lem3a_lthm:=(axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3a)))
% FOF formula (((eq Prop) hoasinduction_lem3b) (forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (((eq term) ((sub B) ((push one) sh))) ((F sh) one)))))) of role definition named hoasinduction_lem3b
% A new definition: (((eq Prop) hoasinduction_lem3b) (forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (((eq term) ((sub B) ((push one) sh))) ((F sh) one))))))
% Defined: hoasinduction_lem3b:=(forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (((eq term) ((sub B) ((push one) sh))) ((F sh) one)))))
% FOF formula (((eq Prop) hoasinduction_lem3b_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3b))))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_lem3b_gthm
% A new definition: (((eq Prop) hoasinduction_lem3b_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3b)))))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_lem3b_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3b))))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lem3b_lthm) hoasinduction_lem3b) of role definition named hoasinduction_lem3b_lthm
% A new definition: (((eq Prop) hoasinduction_lem3b_lthm) hoasinduction_lem3b)
% Defined: hoasinduction_lem3b_lthm:=hoasinduction_lem3b
% FOF formula (((eq Prop) hoasinduction) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id))))))))) of role definition named hoasinduction
% A new definition: (((eq Prop) hoasinduction) (forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id)))))))))
% Defined: hoasinduction:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id))))))))
% FOF formula (((eq Prop) hoasinduction_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction)))))))))))))))))))))))))))))))))))))) of role definition named hoasinduction_gthm
% A new definition: (((eq Prop) hoasinduction_gthm) (axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction))))))))))))))))))))))))))))))))))))))
% Defined: hoasinduction_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction)))))))))))))))))))))))))))))))))))))
% FOF formula (((eq Prop) hoasinduction_lthm) (induction2->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction))))) of role definition named hoasinduction_lthm
% A new definition: (((eq Prop) hoasinduction_lthm) (induction2->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction)))))
% Defined: hoasinduction_lthm:=(induction2->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction))))
% FOF formula (((eq Prop) hoasinduction_lthm_3) (hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction))))) of role definition named hoasinduction_lthm_3
% A new definition: (((eq Prop) hoasinduction_lthm_3) (hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction)))))
% Defined: hoasinduction_lthm_3:=(hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction))))
% FOF formula (((eq Prop) hoasinduction_no_psi_cond) (forall (P:(subst->(term->(subst->Prop)))), ((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id)))))) of role definition named hoasinduction_no_psi_cond
% A new definition: (((eq Prop) hoasinduction_no_psi_cond) (forall (P:(subst->(term->(subst->Prop)))), ((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id))))))
% Defined: hoasinduction_no_psi_cond:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id)))))
% FOF formula (((eq Prop) hoasinduction_no_psi_cond_lthm) (hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction_no_psi_cond))))) of role definition named hoasinduction_no_psi_cond_lthm
% A new definition: (((eq Prop) hoasinduction_no_psi_cond_lthm) (hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction_no_psi_cond)))))
% Defined: hoasinduction_no_psi_cond_lthm:=(hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction_no_psi_cond))))
% FOF formula pushprop_lem2v2_lthm of role conjecture named thm
% Conjecture to prove = pushprop_lem2v2_lthm:Prop
% We need to prove ['pushprop_lem2v2_lthm']
% Parameter term:Type.
% Parameter subst:Type.
% Parameter one:term.
% Parameter ap:(term->(term->term)).
% Parameter lam:(term->term).
% Parameter sub:(term->(subst->term)).
% Parameter id:subst.
% Parameter sh:subst.
% Parameter push:(term->(subst->subst)).
% Parameter comp:(subst->(subst->subst)).
% Parameter var:(term->Prop).
% Definition pushprop_lem1v2:=(forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), ((P A)->(((((pushprop_p_and_p_prime A) M) P) Q)->(Q one)))):Prop.
% Definition pushprop_lem1_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1))))))))))))))))))))))):Prop.
% Definition axmap:=(forall (A:term) (M:subst) (N:subst), (((eq subst) ((comp ((push A) M)) N)) ((push ((sub A) N)) ((comp M) N)))):Prop.
% Definition pushprop_lem0_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem0))))))))))))))))))))))):Prop.
% Definition shinj:=(forall (A:term) (B:term), ((((eq term) ((sub A) sh)) ((sub B) sh))->(((eq term) A) B))):Prop.
% Definition hoasinduction_lem1v2:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((var A)->(Q A)))))))):Prop.
% Definition hoasinduction_lem1v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1v2)))))))))))))))))))))))))))))))))):Prop.
% Definition hoasap:=(fun (M:subst) (A:term) (N:subst) (B:term)=> ((ap ((sub A) N)) B)):(subst->(term->(subst->(term->term)))).
% Definition induction2lem:=(forall (P:(term->Prop)), ((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->(P ((sub A) M))))))):Prop.
% Definition hoasinduction_lem3v2_f:=(forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (forall (A:term) (M:subst), (((eq term) ((F M) A)) ((sub B) ((push A) M))))))):Prop.
% Definition axvarshift:=(((eq subst) ((push one) sh)) id):Prop.
% Definition hoasapinj2:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) C) D))):Prop.
% Definition hoasapnotvar_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->hoasapnotvar))))))))))))))))))))))))))))))))):Prop.
% Definition hoasapinj1:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((((hoasap id) A) id) C)) ((((hoasap id) B) id) D))->(((eq term) A) B))):Prop.
% Definition ulamvar1:=(var one):Prop.
% Definition induction2lem_lthm:=(axapp->(axvarcons->(axabs->(axclos->(axshiftcons->(axassoc->(axmap->(axidr->(induction->(pushprop->induction2lem)))))))))):Prop.
% Definition hoasinduction_lem3v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem3v2)))))))))))))))))))))))))))))))))):Prop.
% Definition apnotvar:=(forall (A:term) (B:term), ((var ((ap A) B))->False)):Prop.
% Definition pushprop_lthm_orig:=(ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop))))):Prop.
% Definition hoasinduction_lem3v2_f_lthm:=hoasinduction_lem3v2_f:Prop.
% Definition hoasinduction_lthm:=(induction2->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction)))):Prop.
% Definition hoasinduction_no_psi_cond_lthm:=(hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction_no_psi_cond)))):Prop.
% Definition hoaslaminj:=(forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (G:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((G M) A)) N)) ((G ((comp M) N)) ((sub A) N))))->((((eq term) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) ((hoaslam id) (fun (M:subst) (A:term)=> ((G M) A))))->(forall (M:subst) (A:term), (((eq term) ((F M) A)) ((G M) A)))))))):Prop.
% Definition hoasinduction_lem3aaa:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), (((ex term) (fun (C:term)=> (forall (M:subst) (A:term) (N:subst), ((and (((eq term) ((sub ((F M) A)) N)) ((sub ((sub C) ((push A) M))) N))) (((eq term) ((sub C) ((push ((sub A) N)) ((comp M) N)))) ((F ((comp M) N)) ((sub A) N)))))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id))))):Prop.
% Definition induction2lem_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->induction2lem)))))))))))))))))))))))):Prop.
% Definition hoasinduction_lem3aa_lthm:=(axclos->(axmap->hoasinduction_lem3aa)):Prop.
% Definition hoasinduction_lem3:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id))))))):Prop.
% Definition hoasinduction_lem2:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((ap A) B)) id)))))))):Prop.
% Definition termmset_lthm:=(axvarid->(axclos->termmset)):Prop.
% Definition hoasinduction_lem1:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->(forall (A:term), ((var A)->(((P id) A) id))))))):Prop.
% Definition hoaslamnotap_lthm:=(lamnotap->hoaslamnotap):Prop.
% Definition pushprop_lem1v2_lthm:=(axvarcons->pushprop_lem1v2):Prop.
% Definition hoasapnotvar:=(forall (A:term) (B:term), ((((hoasvar id) ((((hoasap id) A) id) B)) id)->False)):Prop.
% Definition hoasinduction_lem0:=(forall (P:(subst->(term->(subst->Prop)))), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((hoasinduction_p_and_p_prime P) Q)))):Prop.
% Definition hoasinduction:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term), ((((hoasvar id) A) id)->(((P id) A) id)))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id)))))))):Prop.
% Definition hoasinduction_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->(hoasinduction_lem3->hoasinduction))))))))))))))))))))))))))))))))))))):Prop.
% Definition axapp:=(forall (A:term) (B:term) (M:subst), (((eq term) ((sub ((ap A) B)) M)) ((ap ((sub A) M)) ((sub B) M)))):Prop.
% Definition hoaslamnotvar_lthm:=(axvarid->(lamnotvar->hoaslamnotvar)):Prop.
% Definition pushprop_lem3v2_lthm:=pushprop_lem3v2:Prop.
% Definition hoasinduction_lem3b_lthm:=hoasinduction_lem3b:Prop.
% Definition ulamvarind:=(forall (P:(term->Prop)), ((P one)->((forall (A:term), ((var A)->((P A)->(P ((sub A) sh)))))->(forall (A:term), ((var A)->(P A)))))):Prop.
% Definition induction:=(forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((P A)->(P (lam A))))->(forall (A:term), (P A)))))):Prop.
% Definition hoasinduction_lem3a_lthm:=(axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3a))):Prop.
% Definition termmset_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->termmset))))))))))))))))))))))))))):Prop.
% Definition hoasinduction_lem3aa:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam ((sub A) ((push one) sh)))) id))))):Prop.
% Definition pushprop_lem1v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem1v2))))))))))))))))))))))):Prop.
% Definition hoaslamnotap_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->hoaslamnotap))))))))))))))))))))))))))))))):Prop.
% Definition hoaslamnotvar_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->hoaslamnotvar)))))))))))))))))))))))))))))))):Prop.
% Definition hoasinduction_lem3b_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3b)))))))))))))))))))))))))))))))))))):Prop.
% Definition pushprop_lem2v2:=(forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(P ((sub B) M))))->(forall (C:term), ((var C)->((Q C)->(Q ((sub C) sh)))))))):Prop.
% Definition hoasinduction_lem3a_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3a)))))))))))))))))))))))))))))))))))):Prop.
% Definition axclos:=(forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N)))):Prop.
% Definition axassoc:=(forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K)))):Prop.
% Definition hoasinduction_lem2v2:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term) (B:term), ((Q A)->((Q B)->(Q ((ap A) B)))))))))):Prop.
% Definition pushprop_lthm:=(pushprop_lem0->(ulamvar1->(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop)))))):Prop.
% Definition apinj2:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) C) D))):Prop.
% Definition apinj1:=(forall (A:term) (B:term) (C:term) (D:term), ((((eq term) ((ap A) C)) ((ap B) D))->(((eq term) A) B))):Prop.
% Definition hoasapinj2_lthm:=(apinj2->hoasapinj2):Prop.
% Definition hoasinduction_lem3v2a:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A))))))):Prop.
% Definition hoasapinj1_lthm:=(axvarid->(apinj1->hoasapinj1)):Prop.
% Definition hoaslaminj_lthm:=(axvarcons->(axshiftcons->(laminj->hoaslaminj))):Prop.
% Definition axvarcons:=(forall (A:term) (M:subst), (((eq term) ((sub one) ((push A) M))) A)):Prop.
% Definition hoaslam:=(fun (M:subst) (F:(subst->(term->term)))=> (lam ((F sh) one))):(subst->((subst->(term->term))->term)).
% Definition axscons:=(forall (M:subst), (((eq subst) ((push ((sub one) M)) ((comp sh) M))) M)):Prop.
% Definition hoasinduction_lem2v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2v2)))))))))))))))))))))))))))))))))):Prop.
% Definition axidr:=(forall (M:subst), (((eq subst) ((comp M) id)) M)):Prop.
% Definition pushprop_lem1:=(forall (P:(term->Prop)) (K:(term->Prop)) (A:term) (M:subst) (B:term), ((P A)->(K ((sub A) ((push B) M))))):Prop.
% Definition laminj:=(forall (A:term) (B:term), ((((eq term) (lam A)) (lam B))->(((eq term) A) B))):Prop.
% Definition hoasinduction_lem3_lthm:=(axvarid->(axvarshift->(hoasinduction_lem3aa->hoasinduction_lem3))):Prop.
% Definition pushprop_lem0:=(forall (P:(term->Prop)) (A:term) (M:subst), ((ex (term->Prop)) (fun (Q:(term->Prop))=> ((((pushprop_p_and_p_prime A) M) P) Q)))):Prop.
% Definition pushprop_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop))))))))))))))))))))))):Prop.
% Definition axabs:=(forall (A:term) (M:subst), (((eq term) ((sub (lam A)) M)) (lam ((sub A) ((push one) ((comp M) sh)))))):Prop.
% Definition hoasinduction_lem3v2a_lthm:=(hoasinduction_lem3v2_f->(axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2a))))):Prop.
% Definition hoasinduction_lem2_lthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2)))))))))))))))))))))))))))))))))):Prop.
% Definition hoasapinj2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->hoasapinj2))))))))))))))))))))))))))))):Prop.
% Definition hoasinduction_p_and_p_prime:=(fun (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (((P id) X) id)))):((subst->(term->(subst->Prop)))->((term->Prop)->Prop)).
% Definition hoasinduction_lem1_lthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1)))))))))))))))))))))))))))))))))):Prop.
% Definition lamnotap:=(forall (A:term) (B:term) (C:term), (not (((eq term) (lam A)) ((ap B) C)))):Prop.
% Definition hoasapinj1_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->hoasapinj1)))))))))))))))))))))))))))):Prop.
% Definition hoaslamnotvar:=(forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((((hoasvar id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id)->False))):Prop.
% Definition axidl:=(forall (M:subst), (((eq subst) ((comp id) M)) M)):Prop.
% Definition hoaslaminj_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->hoaslaminj)))))))))))))))))))))))))))))):Prop.
% Definition induction2_lthm:=(axvarid->(induction2lem->induction2)):Prop.
% Definition hoasinduction_lem0_lthm:=hoasinduction_lem0:Prop.
% Definition substmonoid_lthm:=(axidl->(axassoc->(axidr->substmonoid))):Prop.
% Definition pushprop:=(forall (P:(term->Prop)) (A:term) (M:subst), ((forall (B:term), ((var B)->(P ((sub B) M))))->((P A)->(forall (B:term), ((var B)->(P ((sub B) ((push A) M)))))))):Prop.
% Definition hoasinduction_lem3_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->(hoasinduction_lem1->(hoasinduction_lem2->hoasinduction_lem3)))))))))))))))))))))))))))))))))))):Prop.
% Definition hoasinduction_lem2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem2)))))))))))))))))))))))))))))))))):Prop.
% Definition hoasinduction_lem3b:=(forall (B:term), ((ex (subst->(term->term))) (fun (F:(subst->(term->term)))=> (((eq term) ((sub B) ((push one) sh))) ((F sh) one))))):Prop.
% Definition substmonoid:=((and ((and (forall (M:subst) (N:subst) (K:subst), (((eq subst) ((comp ((comp M) N)) K)) ((comp M) ((comp N) K))))) (forall (M:subst), (((eq subst) ((comp id) M)) M)))) (forall (M:subst), (((eq subst) ((comp M) id)) M))):Prop.
% Definition lamnotvar:=(forall (A:term), ((var (lam A))->False)):Prop.
% Definition hoasinduction_lem3a:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), ((forall (B:term), ((((P id) B) id)->(((P id) ((sub A) ((push B) id))) id)))->(((P id) (lam A)) id))))):Prop.
% Definition hoasinduction_lem1_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->(substmonoid->(termmset->(hoasapinj1->(hoasapinj2->(hoaslaminj->(hoaslamnotap->(hoaslamnotvar->(hoasapnotvar->hoasinduction_lem1)))))))))))))))))))))))))))))))))):Prop.
% Definition hoasinduction_no_psi_cond:=(forall (P:(subst->(term->(subst->Prop)))), ((forall (A:term) (B:term), ((((P id) A) id)->((((P id) B) id)->(((P id) ((((hoasap id) A) id) B)) id))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(forall (A:term), (((P id) A) id))))):Prop.
% Definition induction2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->induction2))))))))))))))))))))))))):Prop.
% Definition pushprop_lem2v2_lthm:=(axclos->(axshiftcons->pushprop_lem2v2)):Prop.
% Definition hoasvar:=(fun (M:subst) (A:term) (N:subst)=> (var ((sub A) N))):(subst->(term->(subst->Prop))).
% Definition hoaslamnotap:=(forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->(forall (A:term) (B:term), (not (((eq term) ((hoaslam id) (fun (M:subst) (C:term)=> ((F M) C)))) ((((hoasap id) A) id) B)))))):Prop.
% Definition substmonoid_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->(pushprop->(induction2lem->(induction2->substmonoid)))))))))))))))))))))))))):Prop.
% Definition ulamvarsh:=(forall (A:term), ((var A)->(var ((sub A) sh)))):Prop.
% Definition induction2:=(forall (P:(term->Prop)), ((forall (A:term), ((var A)->(P A)))->((forall (A:term) (B:term), ((P A)->((P B)->(P ((ap A) B)))))->((forall (A:term), ((forall (B:term), ((P B)->(P ((sub A) ((push B) id)))))->(P (lam A))))->(forall (A:term), (P A)))))):Prop.
% Definition pushprop_lem3v2:=(forall (P:(term->Prop)) (Q:(term->Prop)) (A:term) (M:subst), (((((pushprop_p_and_p_prime A) M) P) Q)->((forall (B:term), ((var B)->(Q B)))->(forall (B:term), ((var B)->(P ((sub B) ((push A) M)))))))):Prop.
% Definition pushprop_lem2v2_gthm:=(axapp->(axvarcons->(axvarid->(axabs->(axclos->(axidl->(axshiftcons->(axassoc->(axmap->(axidr->(axvarshift->(axscons->(ulamvar1->(ulamvarsh->(ulamvarind->(apinj1->(apinj2->(laminj->(shinj->(lamnotap->(apnotvar->(lamnotvar->(induction->pushprop_lem2v2))))))))))))))))))))))):Prop.
% Definition pushprop_lem1_lthm:=(axvarcons->(axclos->(axshiftcons->(ulamvarind->pushprop_lem1)))):Prop.
% Definition hoasinduction_lem3v2:=(forall (P:(subst->(term->(subst->Prop)))) (Q:(term->Prop)), ((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P M) A) ((comp K) N))->(((P ((comp M) K)) ((sub A) K)) N)))->((forall (M:subst) (A:term) (N:subst) (K:subst), ((((P ((comp M) K)) ((sub A) K)) N)->(((P M) A) ((comp K) N))))->((forall (F:(subst->(term->term))), ((forall (M:subst) (A:term) (N:subst), (((eq term) ((sub ((F M) A)) N)) ((F ((comp M) N)) ((sub A) N))))->((forall (A:term), ((((P id) A) id)->(((P id) ((F id) A)) id)))->(((P id) ((hoaslam id) (fun (M:subst) (A:term)=> ((F M) A)))) id))))->(((hoasinduction_p_and_p_prime P) Q)->(forall (A:term), ((forall (B:term), ((Q B)->(Q ((sub A) ((push B) id)))))->(Q (lam A))))))))):Prop.
% Definition axshiftcons:=(forall (A:term) (M:subst), (((eq subst) ((comp sh) ((push A) M))) M)):Prop.
% Definition termmset:=((and (forall (A:term) (M:subst) (N:subst), (((eq term) ((sub ((sub A) M)) N)) ((sub A) ((comp M) N))))) (forall (A:term), (((eq term) ((sub A) id)) A))):Prop.
% Definition pushprop_lem0_lthm:=pushprop_lem0:Prop.
% Definition hoasapnotvar_lthm:=(axvarid->(apnotvar->hoasapnotvar)):Prop.
% Definition hoasinduction_lem3v2_lthm:=(axvarid->(axvarshift->(axclos->(axmap->hoasinduction_lem3v2)))):Prop.
% Definition pushprop_p_and_p_prime:=(fun (A:term) (M:subst) (P:(term->Prop)) (Q:(term->Prop))=> (forall (X:term), ((iff (Q X)) (P ((sub X) ((push A) M)))))):(term->(subst->((term->Prop)->((term->Prop)->Prop)))).
% Definition axvarid:=(forall (A:term), (((eq term) ((sub A) id)) A)):Prop.
% Definition hoasinduction_lthm_3:=(hoasinduction_lem0->(induction2->(axvarid->(hoasinduction_lem3v2a->hoasinduction)))):Prop.
% Trying to prove pushprop_lem2v2_lthm
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M)))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect1 (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M)))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect1 (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M)))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect1 (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x72) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x7) x12)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x8:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x8) x12)) (P ((sub X) ((push A) M)))) (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Found x63 as proof of (Q X)
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x54)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x73) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x73) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x70) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=X:term
% Found x130 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=X0:term
% Found x130 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=X1:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M)))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect1 (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x131 as proof of (Q X0)
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x131 as proof of (Q X)
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X1:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X0:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x131 as proof of (Q X)
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x131 as proof of (Q X0)
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x131 as proof of (Q X0)
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X0:term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X:term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X1:term
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X1:term
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x72) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x64) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X)
% Found (x13 x91) as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q X)
% Found (x8 x71) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x84:(Q X0)
% Found x84 as proof of (Q X0)
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(Q X1)
% Instantiate: X1:=X:term
% Found x90 as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X)
% Found (x13 x91) as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x84:(Q X0)
% Found x84 as proof of (Q X0)
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X)
% Found (x13 x91) as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (x13 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x72) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X)
% Found (x13 x91) as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=X0:term
% Found x130 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=X:term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x80):(Q X1)
% Instantiate: X1:=X:term
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x80):(Q X1)
% Instantiate: X1:=X:term
% Found (x9 x80) as proof of (Q X0)
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (Q X0)
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X:term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X0:term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Found x63 as proof of (Q X)
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X:term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X0:term
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x8 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x8 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x73 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x90:=(x9 x80):(Q X1)
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x80):(Q X1)
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (Q X0)
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x82:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X0:=X:term
% Found x64 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x50)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x73 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x64:(Q X)
% Instantiate: X0:=X:term
% Found x64 as proof of (Q X0)
% Found x64:(Q X)
% Instantiate: X0:=X:term
% Found x64 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x64:(Q X)
% Instantiate: X0:=X:term
% Found x64 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X0:=X:term
% Found x64 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x82:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x82:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x64:(Q X)
% Instantiate: X0:=X:term
% Found x64 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x7) x12)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x73 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(P ((sub X1) ((push A) M)))
% Found x80 as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x73 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x71 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found x131:(Q X1)
% Instantiate: X:=X1:term
% Found x131 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x131:(Q X1)
% Instantiate: X0:=X1:term
% Found x131 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x8:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x8) x12)) (P ((sub X) ((push A) M)))) (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(P ((sub X1) ((push A) M)))
% Found x80 as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (Q X0)
% Found (x9 x80) as proof of (Q X0)
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (Q X0)
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x73 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x71 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X0:=X1:term
% Found x131 as proof of (Q X0)
% Found x131:(Q X1)
% Instantiate: X:=X1:term
% Found x131 as proof of (Q X)
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (x8 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (x6 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x71) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x7:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x7) x12)) (P ((sub X) ((push A) M)))) (fun (x7:((Q X1)->(P ((sub X1) ((push A) M))))) (x8:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X0:=X1:term
% Found x131 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x71 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x73 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x71 as proof of (P ((sub X1) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x65:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x65) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x71 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X1:=X:term
% Found x61 as proof of (Q X1)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x8:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x8) x12)) (P ((sub X) ((push A) M)))) (fun (x8:((Q X1)->(P ((sub X1) ((push A) M))))) (x9:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x71 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x51 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70))) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x82)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Found x63 as proof of (Q X)
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x74):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found ((and_rect2 (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (Q ((sub C) sh))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50))) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x55):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x55) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x55)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x55)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x53:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x53 as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x132):(P ((sub X1) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x74):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x132:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x132 as proof of (Q X0)
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x132:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x132 as proof of (Q X)
% Found (x5 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X0)
% Found (x7 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x62) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x132:(Q X1)
% Found x132 as proof of (Q X1)
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x132:(Q X1)
% Found x132 as proof of (Q X1)
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x132:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x132 as proof of (Q X)
% Found (x5 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x132:(Q X1)
% Found x132 as proof of (Q X1)
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x132:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x132 as proof of (Q X0)
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x132:(Q X1)
% Found x132 as proof of (Q X1)
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x74):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x74:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x74) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x74) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x132:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x132 as proof of (Q X0)
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x132) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x132:(Q X1)
% Found x132 as proof of (Q X1)
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x132) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x63:(Q X)
% Found x63 as proof of (Q X)
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x65):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x65) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x65) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x85):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x85) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x85) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x50) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x92:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x92) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x92) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x92:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x92) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x92) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x74):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x92)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x92)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x62)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x85):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x85) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x85) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x70) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x92:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x92) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x92) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x60))) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X0:=X:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=X:term
% Found x131 as proof of (Q X0)
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x131) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=X1:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=X1:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x131:(Q X1)
% Instantiate: X1:=X0:term
% Found x131 as proof of (Q X)
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x51 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (x8 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x61:(Q X)
% Instantiate: X:=X0:term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x62 as proof of (Q X1)
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Found x62 as proof of (Q X)
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x51:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x51) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x74):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x9 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x54)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x91) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x71) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x74):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x74) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x74)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x74)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x4))) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x90) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X1:term
% Found x60 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=X:term
% Found x130 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X0:term
% Found x130 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53))) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x52) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x72)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81))) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x4))) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x72) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x81))) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x4) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x54)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Found x90 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q X0)
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q X0))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=X:term
% Found (x13 x91) as proof of (Q X0)
% Found (x13 x91) as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=X1:term
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=X0:term
% Found (x13 x91) as proof of (Q X)
% Found (x13 x91) as proof of (Q X)
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=X1:term
% Found (x8 x71) as proof of (Q X)
% Found (x8 x71) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x82:(Q X0)
% Instantiate: X:=X0:term
% Found x82 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x82:(Q X0)
% Found x82 as proof of (Q X0)
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x52)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:=(x9 x131):(P ((sub X1) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:=(x7 x81):(P ((sub X0) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x91):(Q X1)
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x60) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X0:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X1:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X1:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X0:term
% Found x130 as proof of (Q X)
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X1:=X:term
% Found x130 as proof of (Q X0)
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x130) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Found x130 as proof of (Q X1)
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=X1:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52))) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x73) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x73) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X1:=X:term
% Found x62 as proof of (Q X1)
% Found x82:(Q X0)
% Instantiate: X1:=X0:term
% Found x82 as proof of (Q X1)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x82:(Q X0)
% Instantiate: X:=X0:term
% Found x82 as proof of (Q X)
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X)
% Found (x13 x92) as proof of (Q X)
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q X1)
% Found (x8 x72) as proof of (Q X1)
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q X0)
% Found (x6 x52) as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q X1)
% Found (x6 x52) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q X)
% Found (x8 x72) as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x131:(Q X1)
% Found x131 as proof of (Q X1)
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x131) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x54):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x54) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x54)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x64):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x64) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x64) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x83):(P ((sub X0) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x83) as proof of (P ((sub X0) ((push A) M)))
% Found x84:(Q X0)
% Instantiate: X:=X0:term
% Found x84 as proof of (Q X)
% Found (x5 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x84) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q X1)
% Found (x8 x72) as proof of (Q X1)
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X)
% Found (x13 x92) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q X1)
% Found (x6 x52) as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x84):(P ((sub X0) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x82:(Q X0)
% Instantiate: X:=X0:term
% Found x82 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x82:(Q X0)
% Instantiate: X1:=X0:term
% Found x82 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X1:=X:term
% Found x62 as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x82:(Q X0)
% Instantiate: X:=X0:term
% Found x82 as proof of (Q X)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x82:(Q X0)
% Instantiate: X1:=X0:term
% Found x82 as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X1:=X:term
% Found x62 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X1:=X:term
% Found x62 as proof of (Q X1)
% Found x82:(Q X0)
% Instantiate: X1:=X0:term
% Found x82 as proof of (Q X1)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x82:(Q X0)
% Instantiate: X:=X0:term
% Found x82 as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found (x8 x71) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x51)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X1:term
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X1:term
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X:term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X0:term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q X1)
% Found (x8 x72) as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X)
% Found (x13 x92) as proof of (Q X)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X1:term
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X0:term
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=X:term
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X1:term
% Found (x6 x50) as proof of (Q X0)
% Found (x6 x50) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=X:term
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=X0:term
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x73)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q X1)
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Found x60 as proof of (Q X)
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x61 as proof of (Q X1)
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found (and_rect10 (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found ((and_rect1 (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found (((fun (P0:Type) (x7:(((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->P0)))=> (((((and_rect ((Q X0)->(P ((sub X0) ((push A) M))))) ((P ((sub X0) ((push A) M)))->(Q X0))) P0) x7) x11)) (Q ((sub C) sh))) (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51))) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found (fun (x7:((Q X0)->(P ((sub X0) ((push A) M))))) (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((Q X0)->(P ((sub X0) ((push A) M))))->(((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh))))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X1) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X1) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X1) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x90:=(x9 x130):(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found (x9 x130) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x81 as proof of (Q X1)
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x81) as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Found x80 as proof of (Q X0)
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x81:(Q X0)
% Found x81 as proof of (Q X0)
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x81) as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q X1)
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x9 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x72)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X)
% Found (x13 x92) as proof of (Q X)
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x82):(P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x82) as proof of (P ((sub X0) ((push A) M)))
% Found x83:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x83) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x83) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x83) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x81:(Q X0)
% Instantiate: X:=X0:term
% Found x81 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x62):(P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x62) as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x63) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x63) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh))))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found x60 as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found x130 as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found x80 as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x72:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x72 as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x50)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x73:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x73) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x73) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(P ((sub X) ((push A) M))))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found (x13 x90) as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found (x6 x51) as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found (x6 x51) as proof of (Q X0)
% Found x130:=(x13 x90):(Q X1)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found (x13 x90) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found (x8 x70) as proof of (Q X)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X1:=X:term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X:=X1:term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x130:(Q X1)
% Instantiate: X:=X1:term
% Found x130 as proof of (Q X)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x61) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x62) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x52)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (x8 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x91 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (x6 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x91:(P ((sub X1) ((push A) M)))
% Found x91 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X)
% Found (x13 x92) as proof of (Q X)
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x51:(P ((sub X) ((push A) M)))
% Found x51 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x4) as proof of (P ((sub X) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found (x13 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x4) as proof of (P ((sub X0) ((push A) M)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x53)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found (x6 x70) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found (x13 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x70:(P ((sub X0) ((push A) M)))
% Found x70 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found x80:(Q X0)
% Instantiate: X:=X0:term
% Found x80 as proof of (Q X)
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x80) as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x65:(Q X)
% Instantiate: X0:=X:term
% Found x65 as proof of (Q X0)
% Found x63:(Q X)
% Instantiate: X0:=X:term
% Found x63 as proof of (Q X0)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x73):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found (x8 x73) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x72):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found (x8 x72) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x50:=(x5 x63):(P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x63) as proof of (P ((sub X) ((push A) M)))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x52 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found (x8 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x71 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found (x6 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x71:(P ((sub X0) ((push A) M)))
% Found x71 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x52:(P ((sub X) ((push A) M)))
% Found x52 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X0:=X:term
% Found x80 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=X0:term
% Found x60 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X0:=X1:term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x81:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x81) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x83:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x83) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x83) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x82:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x63) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x82:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x82) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (P ((sub X) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found ((and_rect2 (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x7 x80))) as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x62:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x62) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x61) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Instantiate: X0:=X:term
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (P ((sub X0) ((push A) M)))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M))))
% Found (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61)) as proof of (((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->(P ((sub X0) ((push A) M)))))
% Found (and_rect20 (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found ((and_rect2 (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found (((fun (P0:Type) (x9:(((Q X1)->(P ((sub X1) ((push A) M))))->(((P ((sub X1) ((push A) M)))->(Q X1))->P0)))=> (((((and_rect ((Q X1)->(P ((sub X1) ((push A) M))))) ((P ((sub X1) ((push A) M)))->(Q X1))) P0) x9) x12)) (P ((sub X0) ((push A) M)))) (fun (x9:((Q X1)->(P ((sub X1) ((push A) M))))) (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x5 x61))) as proof of (P ((sub X0) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x80) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x4:(Q C)
% Instantiate: X1:=C:term
% Found x4 as proof of (Q X1)
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> x60) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X1:=X0:term
% Found x70 as proof of (P ((sub X1) ((push A) M)))
% Found x130:(Q X1)
% Instantiate: X0:=X1:term
% Found x130 as proof of (Q X0)
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x62:(Q X)
% Instantiate: X0:=X:term
% Found x62 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X0:=((sub C) sh):term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x50:=(x5 x61):(P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X) ((push A) M)))
% Found x60:=(x6 x53):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x53) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (Q ((sub C) sh))
% Found (fun (x6:((P ((sub X) ((push A) M)))->(Q X)))=> (x6 x53)) as proof of (((P ((sub X) ((push A) M)))->(Q X))->(Q ((sub C) sh)))
% Found x61:(Q X)
% Found x61 as proof of (Q X)
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x61) as proof of (P ((sub X0) ((push A) M)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X0) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X) ((push A) M)))
% Found x84:(Q X0)
% Found x84 as proof of (Q X0)
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found (x7 x84) as proof of (P ((sub X) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x50:=(x5 x60):(P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found (x5 x60) as proof of (P ((sub X) ((push A) M)))
% Found x70:=(x7 x80):(P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found (x7 x80) as proof of (P ((sub X0) ((push A) M)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x70)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x52)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x6 x51)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> (x8 x71)) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X) ((push A) M)))
% Found x90:(P ((sub X1) ((push A) M)))
% Instantiate: X1:=((sub C) sh):term
% Found x90 as proof of (P ((sub X0) ((push A) M)))
% Found x130:=(x13 x92):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x92) as proof of (Q X0)
% Found (x13 x92) as proof of (Q X0)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x63:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x63) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x71)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x51)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x64:(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (Q ((sub C) sh))
% Found (fun (x8:((P ((sub X0) ((push A) M)))->(Q X0)))=> x64) as proof of (((P ((sub X0) ((push A) M)))->(Q X0))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x70)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x90)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x91):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x91) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x91)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Instantiate: X0:=((sub C) sh):term
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x60:(Q X)
% Instantiate: X0:=X:term
% Found x60 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X0:=C:term
% Found x4 as proof of (Q X0)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x4:(Q C)
% Instantiate: X:=C:term
% Found x4 as proof of (Q X)
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x130:=(x13 x90):(Q X1)
% Instantiate: X1:=((sub C) sh):term
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found (x13 x90) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x51):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found (x6 x51) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Instantiate: X:=((sub C) sh):term
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found (x6 x50) as proof of (Q X1)
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found (x8 x70) as proof of (Q X1)
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x80:=(x8 x70):(Q X0)
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found (x8 x70) as proof of (Q ((sub C) sh))
% Found x60:=(x6 x52):(Q X)
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found (x6 x52) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X0) ((push A) M)))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (x8 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x8 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Instantiate: X:=((sub C) sh):term
% Found x50 as proof of (P ((sub X1) ((push A) M)))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (x13 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x13 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x81:(Q X0)
% Instantiate: X1:=X0:term
% Found x81 as proof of (Q X1)
% Found x70:(P ((sub X0) ((push A) M)))
% Instantiate: X:=X0:term
% Found x70 as proof of (P ((sub X) ((push A) M)))
% Found x80:(Q X0)
% Instantiate: X1:=X0:term
% Found x80 as proof of (Q X1)
% Found x80:=(x8 x71):(Q X0)
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found (x8 x71) as proof of (Q ((sub C) sh))
% Found x61:(Q X)
% Instantiate: X0:=X:term
% Found x61 as proof of (Q X0)
% Found x60:(Q X)
% Instantiate: X1:=X:term
% Found x60 as proof of (Q X1)
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(Q ((sub C) sh)))
% Found x60:=(x6 x50):(Q X)
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found x50:(P ((sub X) ((push A) M)))
% Found x50 as proof of (P ((sub X) ((push A) M)))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (x6 x50) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (Q ((sub C) sh))
% Found (fun (x13:((P ((sub X1) ((push A) M)))->(Q X1)))=> (x6 x50)) as proof of (((P ((sub X1) ((push A) M)))->(Q X1))->(
% EOF
%------------------------------------------------------------------------------